package common;

import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.text.DateFormat;
import java.util.Date;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;

/**
 * Class Utilisateur du package common
 * @author poitevia
 *
 */



@XmlAccessorType(XmlAccessType.FIELD)
public class Tweet implements  Serializable, Comparable {

	private static final long serialVersionUID = 1L;

	//Permet de faire le lien entre un utilisateur et ses Tweets
	private int idUtilisateur;

	//Date de cr�ation du Tweet
	private Date date;

	//Contenu associ� � un Tweet
	private String contenu;
	
	/**
	 * Constructeur vide obligatoire pour la s�rialisation XML
	 */
	public Tweet() throws RemoteException{}
	
	/**
	 * Constructeur de la classe
	 * @param contenuTweet Contenu associ� au Tweet
	 */
	public Tweet(int idUtilisateur, String contenuTweet) throws RemoteException {
		this.idUtilisateur = idUtilisateur;
		this.date = new Date();
		this.contenu = contenuTweet;
	}

	//Accesseurs et modificateurs
	public int getIdUtilisateur() throws RemoteException {
		return idUtilisateur;
	}
	
	public void setIdUtilisateur(int idUtilisateur) throws RemoteException {
		this.idUtilisateur = idUtilisateur;
	}
	public String getContenu() throws RemoteException {
		return contenu;
	}

	public void setContenu(String contenu) throws RemoteException {
		this.contenu = contenu;
	}

	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	@Override
	public int compareTo(Object o) {
		return (this.getDate().compareTo(((Tweet) o).getDate()));
	}
}
